feat: migrate Codex/agy init to native skills workflow#1906
feat: migrate Codex/agy init to native skills workflow#1906mnriem merged 5 commits intogithub:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR completes the Codex + agy migration to a skills-first initialization flow, aligning spec-kit’s init, extension registration, and release packaging with native agent-skills layouts (notably .agents/skills/ for Codex).
Changes:
- Switched Codex init/config + extension registration output from legacy prompt files to native SKILL.md skill directories under
.agents/skills/. - Updated init “next steps” and README guidance to reflect Codex skills invocation (
$speckit-*) and require--ai-skillsfor Codex. - Updated release packaging scripts and expanded tests to lock in Codex skills behavior and avoid Codex/Amp mis-detection.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/__init__.py |
Makes Codex skills-first (.agents/skills), adds migration guardrails, and validates bundled skills for native-skill agents. |
src/specify_cli/agents.py |
Updates Codex registration target to .agents/skills and adds SKILL.md rendering + Codex placeholder resolution. |
src/specify_cli/presets.py |
Removes outdated inline commentary; keeps existing Kimi dotted naming logic. |
tests/test_ai_skills.py |
Adds coverage for Codex skills-first init behavior (skip conversion, fail clearly when missing). |
tests/test_extensions.py |
Adds coverage for Codex skill registration/unregistration, SKILL.md frontmatter, alias handling, and Amp non-detection. |
tests/test_agent_config_consistency.py |
Ensures runtime + registrar + release scripts consistently target .agents/skills for Codex. |
README.md |
Updates docs to reflect Codex skills mode requirements and invocation syntax. |
.github/workflows/scripts/create-release-packages.sh |
Packages Codex artifacts as .agents/skills via a generalized skills generator. |
.github/workflows/scripts/create-release-packages.ps1 |
Same as bash script, for PowerShell-based packaging. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR completes the migration of Codex CLI (and related init guidance) to a skills-first workflow, aligning initialization, extension registration, and release packaging around native SKILL.md artifacts.
Changes:
- Switch Codex init/runtime + extension registration from legacy
.codex/promptsto native skills under.agents/skills(including name mapping + placeholder handling). - Update init UX/docs to reflect Codex skills invocation (
$speckit-*) and enforce--ai-skillswhere required. - Update release packaging scripts and expand regression tests to lock behavior across init/skills/extensions/config consistency.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/__init__.py |
Codex runtime path updated to .agents/skills, adds skills-migration enforcement and bundled-skills handling for native-skills agents. |
src/specify_cli/agents.py |
Codex moved to SKILL.md output; adds skill rendering, alias frontmatter alignment, output-name mapping, and placeholder resolution for Codex overrides. |
src/specify_cli/presets.py |
Minor comment cleanup related to skill naming. |
tests/test_ai_skills.py |
Adds init-path regression tests for Codex native skills + --ai-skills enforcement/interactive behavior. |
tests/test_extensions.py |
Adds coverage for Codex SKILL.md registration, alias frontmatter, placeholder resolution, and agent detection under .agents/skills. |
tests/test_agent_config_consistency.py |
Ensures Codex mappings and release scripts are consistent with .agents/skills generation. |
README.md |
Updates user guidance for Codex skills mode and requires --ai-skills. |
.github/workflows/scripts/create-release-packages.sh |
Migrates Codex packaging to generate skills under .agents/skills and generalizes skills generation. |
.github/workflows/scripts/create-release-packages.ps1 |
Mirrors skills-oriented packaging changes for PowerShell builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Migrates Codex (and related init flow for agy) to a skills-first workflow, aligning project initialization, extension registration, and release packaging with native SKILL.md artifacts under agent skills directories.
Changes:
- Switch Codex init/runtime + extension registration from
.codex/promptsto native skills in.agents/skills/<skill>/SKILL.md. - Improve Codex SKILL.md rendering during extension registration (frontmatter shape, alias handling, placeholder substitution) and update next-step guidance + README.
- Update release packaging scripts to ship Codex skills artifacts, and expand tests to lock in expected behaviors.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/__init__.py |
Updates Codex runtime config to .agents/skills, enforces skills migration behavior, validates bundled native skills, and adjusts “Next Steps” messaging for Codex skills invocation. |
src/specify_cli/agents.py |
Moves Codex extension output to SKILL.md, adds skills rendering path, placeholder resolution for Codex, and skill-name mapping for register/unregister. |
src/specify_cli/presets.py |
Minor comment cleanup related to Kimi skill naming. |
tests/test_ai_skills.py |
Adds coverage for Codex native-skills init behavior and Codex --ai-skills enforcement/interactive enablement. |
tests/test_extensions.py |
Updates Codex agent mapping expectations and adds Codex SKILL.md registration/unregistration and placeholder/alias regression coverage. |
tests/test_agent_config_consistency.py |
Ensures runtime + registrar configs agree for Codex skills and validates release scripts generate Codex skills. |
README.md |
Documents Codex requiring --ai-skills and $speckit-* invocation in skills mode; updates examples. |
.github/workflows/scripts/create-release-packages.sh |
Generates Codex skills in .agents/skills and generalizes skills generation function (hyphen vs dotted separator). |
.github/workflows/scripts/create-release-packages.ps1 |
PowerShell equivalent: generates Codex skills in .agents/skills via generalized New-Skills. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Migrates Codex (and aligns agy) initialization to a skills-first workflow, updating runtime configuration, extension/preset registration, release packaging, and tests so Codex uses native skills under .agents/skills rather than legacy prompt files.
Changes:
- Switch Codex agent config + init flow to
.agents/skills, requiring--ai-skillsfor explicit--ai codexand auto-enabling skills when Codex is selected interactively. - Improve SKILL.md rendering for Codex in extension/preset registration (mapped skill names, alias frontmatter alignment, and script/agent placeholder substitution).
- Update release packaging scripts and expand test coverage to lock in the new Codex skills behavior.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/__init__.py |
Codex runtime config moved to .agents/skills; init enforces skills-first migration behavior and updates post-init guidance messaging. |
src/specify_cli/agents.py |
CommandRegistrar updated for Codex skills output (/SKILL.md), mapped skill naming, improved frontmatter parsing, and Codex placeholder resolution. |
src/specify_cli/presets.py |
Removes outdated inline comment around Kimi naming (no functional change). |
tests/test_ai_skills.py |
Adds coverage for Codex native skills handling and --ai codex requiring --ai-skills, including interactive behavior. |
tests/test_extensions.py |
Updates Codex agent mapping assertions and adds regression tests for frontmatter parsing and Codex skill registration/unregistration behavior. |
tests/test_agent_config_consistency.py |
Ensures config consistency for Codex skills and asserts release scripts generate .agents/skills Codex artifacts. |
README.md |
Updates docs to reflect Codex --ai-skills requirement and $speckit-* invocation in Codex skills mode. |
.github/workflows/scripts/create-release-packages.sh |
Generates Codex skills under .agents/skills and generalizes skills packaging helper. |
.github/workflows/scripts/create-release-packages.ps1 |
Mirrors Bash release packaging updates for Codex skills generation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR completes the migration of Codex (and the existing agy deprecation path) to a skills-first initialization workflow, aligning Spec Kit’s init output and extension registration with native SKILL.md layouts (not legacy prompt/command files).
Changes:
- Update Codex init/runtime config to use
.agents/skillsand require/auto-enable--ai-skillswhere appropriate. - Adjust extension command registration to write
SKILL.mdartifacts for Codex (including placeholder/script path handling and alias frontmatter alignment). - Update release packaging scripts and tests to generate/verify Codex skills output and prevent regressions.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/__init__.py |
Moves Codex to .agents/skills, adds skills-migration enforcement, validates bundled skills for native-skills agents, updates post-init guidance output. |
src/specify_cli/agents.py |
Switches Codex registrar target to skills, adds SKILL renderer + placeholder resolution, normalizes output naming for skill agents, updates unregister behavior. |
src/specify_cli/presets.py |
Minor cleanup of outdated Kimi-related comment (no functional change). |
tests/test_ai_skills.py |
Adds/updates regression tests for Codex skills-first init behavior and next-steps output (including interactive behavior). |
tests/test_extensions.py |
Updates Codex agent config assertions; adds coverage for frontmatter robustness and Codex SKILL.md rendering behaviors (placeholders, aliases, unregister). |
tests/test_agent_config_consistency.py |
Locks config expectations for Codex skills and release-script generation. |
README.md |
Updates documentation to reflect Codex --ai-skills requirement and $speckit-* invocation in Codex skills mode. |
.github/workflows/scripts/create-release-packages.sh |
Generates Codex release artifacts as skills under .agents/skills and generalizes skills packaging logic. |
.github/workflows/scripts/create-release-packages.ps1 |
Mirrors the bash release packaging changes for Codex skills on Windows runners. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thank you! |
|
Closes #1866 |
Upstream changes merged: - feat: migrate Codex/agy init to native skills workflow (github#1906) - feat(presets): add enable/disable toggle and update semantics (github#1891) - feat: add iFlow CLI support (github#1875) - feat(commands): wire before/after hook events into specify and plan templates (github#1886) - Add conduct extension to community catalog (github#1908) - feat(extensions): add verify-tasks extension to community catalog (github#1871) Tikalk customizations preserved: - Orange theme (ACCENT_COLOR = #f47721) - Pre-Installed Extensions panel in init output - --team-ai-directives CLI parameter - /spec.* command aliases (instead of /speckit.*) - Skills package manager (specify skill subcommand) - Bundled extensions/presets installation - install_bundled_extensions, install_bundled_presets, get_preinstalled_extensions functions Version: 0.1.15
Why
Codex and agy now recommend skills-first setup, while our init flow still treated command/prompt generation as the primary path. After multiple incremental fixes, this PR consolidates the migration into a clean, conflict-free change on top of latest
main, so maintainers can review one coherent diff.Relationship to prior PR
main)What changed
--ai codexand--ai agyinitialization to native skills output under.agents/skills/for--ai-skillsusage.speckit-*) and reuses existing registration flows where possible.SKILL.mdMaintainer review guide
src/specify_cli/__init__.py: init + post-init behavior changes for Codex/agy skills-first flow.src/specify_cli/agents.py: Codex skill rendering/alias/placeholder handling in extension registration paths.tests/test_ai_skills.py,tests/test_extensions.py,tests/test_agent_config_consistency.py: regression coverage and expectations.Validation
uv run pytest tests/test_ai_skills.py tests/test_extensions.py tests/test_agent_config_consistency.py